		M's HELP FILE
The Alternate and Control keys are used like the shift key. In this help
text we abreviate Control by a ^ and Alternate by Alt.  For example:
[^X] = Control X.  Typing an Escape is equivalent to holding the Alt key down.
(Keystrokes are written in square brackets.)

	EDIT MODES
[^X M] followed by one of [C] [O] [W] [X] [S] [I] [T] [P] or [B] Toggle Mode:
C) Cmode: toggles smart indenting, parenthesis matching, C programming mode
O) Overwrite: toggles between overwriting and inserting
W) Wrap: toggles on/off automatic line wrapping (usually for a text mode)
X) Exact: toggles search case sensitivity
S) Scroll: toggles the vertical scrolling method
I) cIndent: toggles the C indentation method
T) Tab: toggles the use of hard tabs
P) regular exPressions: searches use regular expressions
B) Binary: toggles displaying as a binary

	CURSOR MOTION  (Arrow keys are Right Left Up Down)
[Right]==[^F] forward			[Left]==[^B] backward
[Up]==[^P] up				[Down]==[^N] down
[PageUp]==[Alt V] page up		[PageDown]==[^V] page down
[Home]==[^A] front of line		[End]==[^E] end of line
[HomeHome] top of page			[EndEnd] bottom of page
[HomeHomeHome]==[Alt <] top		[EndEndEnd]==[Alt >] end
[^Right]==[Alt F] forward word		[^Left]==[Alt B] backward word
[^Up] up paragraph			[^Down] down paragraph
[Alt G (number)] goto linenumber	[^X .] exchange cursor with mark

	DELETING AND COPYING
[^T] transpose characters		[Alt C] capitalize word
[Alt L] lowercase word			[Alt U] uppercase word
[Backspace] delete left			[Del]==[^D] delete right
[^Backspace] delete word left		[Alt Backspace] copy word left
[^Del]==[Alt D] delete word right	[Alt Del] copy word right
[Alt ,] delete whitespace right		[Alt .] delete whitespace

[Alt Spacebar]==[^Spacebar] sets mark at the cursor position,
[Alt ^Spacebar] sets a Column mark at the cursor position
[^K] kill to end of line, store in kill buffer
[Alt K] kill line, store in kill buffer
[^Y] yank a copy of the kill buffer to the current cursor position
[Alt Y] yankPop; cycle through the ring of kill buffers
[Alt ^Y] columnYank, yanks the current kill buffer in a column way
[^W] wipes from last mark to cursor, stores in kill buffer
[Alt W] copies from last mark to cursor into kill buffer
	
The general procedure for copying or moving text is:
1) Mark the beginning of a block using [Alt Spacebar]
2) Move the cursor to the end of the block.
3) Delete [^W] or copy [Alt W] into the kill buffer.
4) Move the cursor to the new location and [^Y] yank it back.

	SEARCHING AND REPLACING
[Alt ^F] forward to matching )]}	[Alt ^B] backward to matching {[(
[^S] isearch forward			[Alt S] repeat last search
[^R] reverse isearch			[Alt R] repeat last reverse search
[Alt ^R] jumbo replace dialog		[Alt ^S] jumbo search dialog
During an isearch: [bacspace][^-] undo, [^S][^R] repeat, [^G][ESCAPE] exit
[^Y] yanks, [Alt Y] yankPops, [Alt /] wordContinuation.
In eXact Mode searches are case sensitive.
If not eXact Mode -> searches are lower case insensitive, upper case sensitive

[Alt T] tag search (uses "tags" file)	[Alt Q] function search
The "tags" file is created using [Alt X tagCreate]

	FILE CONTROL
[^X ^F] open a newfile			[^X R] revert to save
[^X K] kill this file			[^X ^W] rename and write this file
[^X ^S] save this file			[^X S] save all modified files
[^X ^C] exit querying changed files	[Alt Z] exit saving changed files
[^X I] insert a file at the cursor

In File Dialogs, the "*" wildcard is legal in file and directory names... 
The "**" wildcard matches directory names "." and all subdirectories
[Spacebar] or [TAB] in a file/buffer Dialogs continues the 
path/file/buffer name, it may bring up a file list box...

	WINDOW CONTROL
[^L] center the cursorline		[^Insert]==[^X O] other window
[Insert]==[^X X] next buffer		[Shift Insert] last buffer
[^X B] goto the queried buffer		[^X ^F] goto/open the queried file
[^X 1] make one fullsized window	[^X 0] remove this window
[^X 2] split window horizontally	[^X 5] split window vertically
[Alt endkey] grow window right		[Alt homekey] shrink window left
[Alt pagedownkey] grow window down	[Alt pageupkey] shrink window up
[Alt (arrow key)] move window
[Alt +] bookMark >> pop=P push=spacebar 123456789=goto window configuration	
[Alt =] pop window configuration

	LINE WRAPPING
[Alt P] reformat the current paragraph/comment (in Cmode)
[^TAB] retab the line 
[Alt TAB] set wrap index and (multiple sized) tabs, e.g.: tabs=2 8 4

	UNDO
[^-] undo				[Alt -] redo

	MACROS
[Alt M] load a macro (store keys)   [Alt ^M] save all current macros
[ESCAPE (number) (key)] repeat execute (key) the given (number) of times

	HELP
[^H H] bring up this help		[^H B] describe keyBindings
[^H F] describe Functions

	SHELLS
[^Z] begins a dos shell
[^X N] runs a dos command and captures the output...
The default command is gmake, which is a make facility...
[Alt N] go to next error...
Used repeatedly after [^X N], we parse the output of [^X N]
and go to the file and line number of the next error.

	MISCELANEOUS
[^G] is the all purpose abort.
    
[^Q (any key)] quoted insert, inserts the key as a literal...
in Binary mode you can insert hex
    
[Alt I] information,	[D]-Date, [T]-Time, [P]-Pathname, [A]-Absolutepath,
			[+] count++, [-] count--, [=] count, [0-9] set count

[^X D] diff Directories
[^X E] compares 2 windows (equal), does a diff from the cursors
[^X ^E] compares 2 windows (equal), resyncronizes diff'ing lines
Exact Mode diffs are white space sensitive, else white insensitive.

[Alt X] execute named command (space does commandContinuation)

[Alt /] word continuation

Care and Feeding of M:
    1) Put M.EXE on your path
    2) Set TMP to a directory for temp files (in the autoexec):
	set TMP=c:\temp		// Periodically empty this directory.
    3) Set HOME to a directory, the macrofile and startfile live here
	set HOME=c:\home
    4) Optionally set SWAPDIRS as a path variable to use for swap files
	set SWAPDIRS=d:\temp;c:\temp;j:\temp
    m will swap to d:\temp until it is full than to c:\temp etc.
    5) Optionally set the environment variable M (in the autoexec):
	set M= a2-+*/()[]{} -i -s -cXXXXXX -t4 -p -wXXX -0
	-a1,a2	set alphabets,	a1=wordChars,	default is A-Za-z0-9_
				a2=symbolChars,	no default
	-b  keep one backup, saves original files to backups
	-c  XXXXXX is a 6-digit hex number specifying colors
	    Each digit controls a letter or a background color
	-f  don't Fall out bottom
	-h  hard tabs, (indentation is a mix of spaces and tab chars)
	-i  toggle cIndent Mode, same as [^X M I]
	-j  keep journal files (keystroke journaling)
	-l  load file lines as text always... (don't auto sense binary)
	-p  paid your money, (don't show startup message)
	-P  poll source files, track unexpected changes to the source files
	-s  toggle the Scroll Mode, see [^X M S]
	-t,-tc  set the tabs... -tc2 will set cmode tabs to 2
	-v  attempt checkout of read only files
	-w  set wrap column, XXX is a decimal number
	-0  column numbers begin at 0 instead of 1

    6) Optionally set M_COMPILE, M_CHECKOUT, and COMSPEC, see m.tut
    7) Optionally set up an M.CFG file, see m.tut
